
/**
 * AppleIIGo
 * Apple Silentype Interface Card class
 * (C) 2008 by Marc S. Ressl (mressl@umich.edu)
 * Released under the GPL
 */

#ifndef SILENTYPEINTERFACECARD_H
#define SILENTYPEINTERFACECARD_H

#include "Motherboard.h"

#define SILENTYPE_ROM_BYTENUM	0x800
#define SILENTYPE_RAM_BYTENUM	0x100

class SilentypeInterfaceCard : public SlotDevice {
public:
	SilentypeInterfaceCard(class Motherboard * motherboard,
						   char * slotDeviceName);
	
	void onMemoryRequested();
	void onMemoryAllocated();
	void onResetAsserted(bool isRestart);
	
	void writeMemory(UINT16 address, UINT8 value);
	UINT8 readMemory(UINT16 address);
	
private:
	UINT32 romMemoryOffset;
	UINT8 * romMemory;
	
	UINT32 ramMemoryOffset;
	UINT8 * ramMemory;
};

#endif
